package com.ng.common.annotation;

import com.ng.common.enumeration.OperationEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 定义自定义注解，用于标识某个方法需要进行功能字段自动填充处理
 * - RetentionPolicy.SOURCE：注解只保留在源文件，当Java文件编译成class文件的时候，注解被遗弃；
 * - RetentionPolicy.CLASS：注解被保留到class文件，但jvm加载class文件时候被遗弃，这是默认的生命周期；
 *
 * @author Ng
 * @date 2024/03/08
 */
@Target(ElementType.METHOD)  // 表示应用范围在方法上
@Retention(RetentionPolicy.RUNTIME)  // 注解不仅被保存到class文件中，jvm加载class文件之后，仍然存在；
public @interface AutoFill {

    // 指定数据库操作类型：UPDATE，INSERT
    OperationEnum value();
}
